package com.fightingFish.user.dao;

import com.fightingFish.user.bean.Anchor;
import com.fightingFish.user.bean.User;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 2018/12/18.
 */
public interface AnchorDao {

    /**
     * 根据关键字查询主播
     *
     * @param keyWords
     * @return
     */
    List<Anchor> queryAnchorByKeyWords(String keyWords);

    /**
     * 查询当前登录用户关注的主播列表
     *
     * @param userId
     * @return
     */
    List<Anchor> queryAttentionAnchor(int userId);


    /**
     * 根据主播房间号查询主播信息
     *
     * @param roomId
     * @return
     */
    Anchor queryAnchorByRoomId(int roomId);

    /**
     * 根据主播直播类型查询主播列表
     *
     * @param type
     * @return
     */
    List<Anchor> queryAnchorByType(int type);

    /**
     * 根据主播关注量查询主播列表
     *
     * @return
     */
    List<Anchor> queryAnchorByAttention();

    /**
     * 根据主播申请时间查询最新的4位主播列表
     *
     * @return
     */
    List<Anchor> queryAnchorByCreateTime();

    /**
     * 方法概述: 给用户推荐关注量前四的主播
     *
     * @param userId
     * @return
     */
    List<Anchor> recommendAttention(int userId);
    /**
     * 通过主播id查询主播的个人信息
     */
    Anchor selectInfoByAnchorId(Integer anchorId);

    /**
     * 通过id查询到当前主播的余额，及你要提现的金额
     * 实现提现
     */
    Double CashBalance(Integer userId, Double balance);

    /**
     * 通过id查询到当前主播的粉丝量
     */
    Integer selectAttentionNumsByid(Integer anchorId);

    /**
     * 主播可以修改个人的信息
     * （密码，头像，昵称，性别，个性签名，手机号，邮箱）
     * （房间名，直播类型，直播间封面）
     */
    boolean updateInfoByAnvhorid(Integer anchorid, String nickName, String sex, String signInfo, String phone, String email);

    /**
     * 通过主播id遍历当前主播间的全部粉丝信息
     */
    ArrayList<User> selectAllByAnchor(Integer anchorid);

    /**
     * 方法概述： 获取所以主播信息
     * @return 主播对象集合
     */
    List<Anchor> getAnchorAll();

    /**
     * 方法概述：  根据ID查询用户
     * @param number
     */
    User getAnchorUserId(int number);
}


